﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using BookStore.Solution.Entities;
using BookStore.Solution.BLL;
using BookStore.Solution.Utilities;

namespace BookStore.Solution.Presentation
{
    public partial class FrmEntryBillDetail : DevComponents.DotNetBar.OfficeForm
    {
        public FrmEntryBillDetail()
        {
            InitializeComponent();
        }
        ProductManager products = new ProductManager();
        public FrmEntryBillDetail(List<string> billdeiltail)
        {
            InitializeComponent();
            this.entryBilldetail = billdeiltail;
            productName = billdeiltail[1];
        }
         List<string> entryBilldetail = null;
         public EntryBillDetail newdetail { get; set; }
         public string productName { get; set; }
        private EntryBillDetail GetBillDetail()
        {
            EntryBillDetail detail = new EntryBillDetail();
            detail.ProductID =  DataUtil.ToString(cbbproduct.SelectedValue);
            detail.Quatity = int.Parse(txtQuantity.Text);
            detail.UnitPrice = long.Parse(txtPrice.Text);
            detail.Status = "Đang tồn tại";
            return detail;
        }
        private void FrmEntryBillDetail_Load(object sender, EventArgs e)
        {
            cbbproduct.DataSource = products.GetAll();
            cbbproduct.DisplayMember = "ProductName";
            cbbproduct.ValueMember = "ProductID";
            if (entryBilldetail != null)
            {
                txtBillDetailID.Text = entryBilldetail[0];
                cbbproduct.Text = entryBilldetail[1];
                txtQuantity.Text = entryBilldetail[2];
                txtPrice.Text = entryBilldetail[3];
               // cbbproduct.Enabled = false;
               // txtProductName.Text = productName;
            }
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (checkValidation())
            {
                newdetail = GetBillDetail();
                productName = cbbproduct.Text;
                if (entryBilldetail == null)
                {
                    newdetail.Status = "Chưa tồn tại";
                }
                cbbproduct.Enabled = true;
                Close();
            }
        }
        private bool checkValidation()
        {
            int quan = DataUtil.ToInt(txtQuantity.Text, -1);
            long money = DataUtil.ToLong(txtPrice.Text, -1);
            if (money <= 0)
            {
                MessageBox.Show("Giá sản phẩm phải lớn hơn 0", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                lblQuantity.ForeColor = Color.Red;
                return false;
            }
            if (quan <= 0)
            {
                MessageBox.Show("Số lượng phải lớn hơn 0", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                lblQuantity.ForeColor = Color.Red;
                return false;
            }
            if (txtPrice.Text == "")
            {
                MessageBox.Show("Nhập tên sản phẩm và giá sản phẩm", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                lblProductName.ForeColor = Color.Red;
                return false;
            }
            return true;
        }
       

        private void btnCancel_Click(object sender, EventArgs e)
        {
            if(DialogResult.Yes==MessageBox.Show("Bạn muốn hủy các thao tác trên phiếu nhập chi tiết","Thông báo",MessageBoxButtons.YesNo,MessageBoxIcon.Information))
            {
                newdetail=null;
                Close();
            }
        }
    }
}